## API Report File for "@backstage/plugin-catalog-backend-module-aws"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
import { AwsCredentialIdentity } from '@aws-sdk/types';
import { AwsCredentialsManager } from '@backstage/integration-aws-node';
import { CatalogProcessor } from '@backstage/plugin-catalog-node';
import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node';
import { CatalogProcessorParser } from '@backstage/plugin-catalog-node';
import type { Cluster } from '@aws-sdk/client-eks';
import { Config } from '@backstage/config';
import type { Entity } from '@backstage/catalog-model';
import { EntityProvider } from '@backstage/plugin-catalog-node';
import { EntityProviderConnection } from '@backstage/plugin-catalog-node';
import { LocationSpec } from '@backstage/plugin-catalog-common';
import { Logger } from 'winston';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { TaskRunner } from '@backstage/backend-tasks';
import { UrlReader } from '@backstage/backend-common';

// @public
export const ANNOTATION_AWS_ACCOUNT_ID: string;

// @public
export const ANNOTATION_AWS_ARN: string;

// @public
export type AWSCredentialFactory = (
  awsAccountId: string,
) => Promise<AwsCredentialIdentity>;

// @public
export class AwsEKSClusterProcessor implements CatalogProcessor {
  constructor(options: {
    credentialsFactory?: AWSCredentialFactory;
    credentialsManager?: AwsCredentialsManager;
    clusterEntityTransformer?: EksClusterEntityTransformer;
  });
  // (undocumented)
  static fromConfig(
    configRoot: Config,
    options?: {
      clusterEntityTransformer?: EksClusterEntityTransformer;
    },
  ): AwsEKSClusterProcessor;
  // (undocumented)
  getProcessorName(): string;
  // (undocumented)
  readLocation(
    location: LocationSpec,
    _optional: boolean,
    emit: CatalogProcessorEmit,
  ): Promise<boolean>;
}

// @public
export class AwsOrganizationCloudAccountProcessor implements CatalogProcessor {
  // (undocumented)
  static fromConfig(
    config: Config,
    options: {
      logger: Logger;
    },
  ): Promise<AwsOrganizationCloudAccountProcessor>;
  // (undocumented)
  getProcessorName(): string;
  // (undocumented)
  readLocation(
    location: LocationSpec,
    _optional: boolean,
    emit: CatalogProcessorEmit,
  ): Promise<boolean>;
}

// @public @deprecated
export class AwsS3DiscoveryProcessor implements CatalogProcessor {
  constructor(reader: UrlReader);
  // (undocumented)
  getProcessorName(): string;
  // (undocumented)
  readLocation(
    location: LocationSpec,
    optional: boolean,
    emit: CatalogProcessorEmit,
    parser: CatalogProcessorParser,
  ): Promise<boolean>;
}

// @public
export class AwsS3EntityProvider implements EntityProvider {
  // (undocumented)
  connect(connection: EntityProviderConnection): Promise<void>;
  // (undocumented)
  static fromConfig(
    configRoot: Config,
    options: {
      logger: Logger;
      schedule?: TaskRunner;
      scheduler?: PluginTaskScheduler;
    },
  ): AwsS3EntityProvider[];
  // (undocumented)
  getProviderName(): string;
  // (undocumented)
  refresh(logger: Logger): Promise<void>;
}

// @public
export type EksClusterEntityTransformer = (
  cluster: Cluster,
  accountId: string,
) => Promise<Entity>;
```
